#include <stdio.h>
#include <stdlib.h>

const int N = 100;

int check(int Jie[],int n);
int main()
{
    int n;  int Jie[N];
    scanf("%d",&n);
    for(int i=1;i<=n;++i)//注意，数组从1开始读入！
        scanf("%d",&Jie[i]);
    if(check(Jie,n))
        printf("Yes");
    else
        printf("No");
}
/* 请在这里填写答案 */
int sta[1000];
int check(int Jie[],int n)
{
    int po=0,top=0;
    for(int i=1;i<=n;++i)
    {
        for(int j=po+1;j<=Jie[i];++j)
        {
            po=j;
            sta[top++]=j;
        }
        if(sta[--top]!=Jie[i])
            return 0;
    }
    return 1;
}